Systems and methods for dual use remote-control devices

ABSTRACT

Various embodiments provide a dual use remote-control device. In one embodiment, a dual use remote-control device may include a first set of input controls such as buttons positioned on a top side of the housing, a second set of input controls positioned on a bottom side of the housing including a QWERTY keyboard and an optical sensor to remotely control movement of a cursor on a display by the optical sensor detecting movement of a user&#39;s finger across the optical sensor or movement of the optical sensor across an object such as a table, arm of a chair or user&#39;s lap. This abstract is provided to comply with rules requiring an abstract, and it is submitted with the intention that it will not be used to interpret or limit the scope or meaning of the claims.

TECHNICAL FIELD

The technical field relates to remote-control devices, and moreparticularly, to apparatuses, systems and methods for a dual useremote-control device having a sensor to control cursor movement on adisplay.

BRIEF SUMMARY

In one embodiment, a remote-control device is provided. In thisembodiment, the remote-control device includes a remote-control devicehousing with controls on both sides of the housing. On one side of thehousing there may be various buttons to control operations of atelevision or other media device while on the other side is an opticalsensor or other sensor to control cursor movement on a television orother display. In a first mode, the optical sensor may be slid across anobject such as, for example, a table, couch or user's lap to control thecursor movement. In a second mode, a user may move their finger acrossthe optical sensor to control the cursor movement. There may also be aQWERTY keyboard on the same side of the remote-control device as theoptical sensor for textual input. The remote control device may have aswitch coupled to a system control module of the device to switch theremote-control device between modes, either automatically or manually.While in the first mode, a user may push a button on a different side ofthe device than the optical sensor to select an item on the display withthe cursor. In the second mode, a user may push the optical sensoritself to select an item with the cursor.

In another embodiment, a method for controlling operation of aremote-control device is provided. The method includes receiving a modeinput signal indicating that the remote-control device is in a firstmode or second mode. Then particular controls on either side of theremote-control device may be activated or deactivated based on the modeinput signal received. The optical sensor of the remote-control devicemay also be automatically adjusted accordingly to better detect movementof a finger across the optical sensor to control a cursor versusmovement of the optical sensor over an object such as a table, couch oruser's lap to control the cursor movement.

In another embodiment, a computer-readable storage medium is provided,the computer-readable storage medium having computer executableinstructions thereon, that when executed by a computer processor cause amethod similar to that above to be performed.

BRIEF DESCRIPTION OF THE DRAWINGS

The components in the drawings are not necessarily to scale relative toeach other. Like reference numerals designate corresponding partsthroughout the several views.

FIG. 1 is a block diagram illustrating an example environment in whichvarious embodiments of a dual use remote may be implemented.

FIG. 2 is a block diagram illustrating components of an exampleembodiment of a dual use remote-control device.

FIGS. 3A-3E are diagrams illustrating top perspective, top plan, side,bottom perspective, and bottom plan views, respectively, of an exampleembodiment of a dual use remote-control device.

FIG. 4 is a block diagram illustrating an example embodiment of a dualuse remote-control device in communication with a presentation device.

FIG. 5 is a flow diagram of an example dual use remote-control processprovided by an example embodiment.

FIG. 6 is a flow diagram of an example dual use remote-control processincluding more detailed operations for switching modes provided by anexample embodiment.

DETAILED DESCRIPTION

A. Environment Overview

FIG. 1 is an overview block diagram illustrating an example environmentin which various embodiments of a dual use remote-control device (“dualuse remote”) 100 may be implemented. It is to be appreciated that FIG. 1illustrates just one example of a customer premises 116 environment andthat the various embodiments discussed herein are not limited to use ofsuch systems. Customer premises 116 can include a variety ofcommunication systems and can use a variety of communication devices,presentation devices and media including, but not limited to, satellitewireless media.

Audio, video, and/or data service providers, such as, but not limitedto, television service providers, provide their customers a multitude ofaudio/video and/or data programming (hereafter, collectively and/orexclusively “programming”). Such programming is often provided by use ofa receiving device 118 communicatively coupled to a presentation device120 configured to receive the programming.

Receiving device 118 interconnects to one or more communications mediaor sources (such as a cable head-end, satellite antenna, telephonecompany switch, Ethernet portal, off-air antenna, or the like) thatprovide the programming. The receiving device 118 commonly receives aplurality of programming by way of the communications media or othersources. Based upon selection by the user, the receiving device 118processes and communicates the selected programming to the one or morepresentation devices 120.

For convenience, the receiving device 118 may be interchangeablyreferred to as a “television converter,” “receiver,” “set-top box,”“television receiving device,” “television receiver,” “televisionrecording device,” “satellite set-top box,” “satellite receiver,” “cableset-top box,” “cable receiver,” “media player,” and/or “televisiontuner.” Accordingly, the receiving device 118 may be any suitableconverter device or electronic equipment that is operable to receiveprogramming. Further, the receiving device 118 may itself include userinterface devices, such as buttons or switches. In many applications, aremote-control device (“remote”) 128 is operable to control thepresentation device 120 and other user devices 122.

Examples of a presentation device 120 include, but are not limited to, atelevision (“TV”), a personal computer (“PC”), a sound system receiver,a digital video recorder (“DVR”), a compact disk (“CD”) device, gamesystem, or the like. Presentation devices 120 employ a display 124, oneor more speakers, and/or other output devices to communicate videoand/or audio content to a user. In many implementations, one or morepresentation devices 120 reside in or near a customer's premises 116 andare communicatively coupled, directly or indirectly, to the receivingdevice 118. Further, the receiving device 118 and the presentationdevice 120 may be integrated into a single device. Such a single devicemay have the above-described functionality of the receiving device 118and the presentation device 120, or may even have additionalfunctionality.

In at least one embodiment, the received program content is communicated(i.e., “uplinked”) to one or more satellites 112. It is to beappreciated that the communicated uplink signal may contain a pluralityof multiplexed programs. The uplink signal is received by the satellite112 and then communicated (i.e., “downlinked”) from the satellite 112 inone or more directions, for example, onto a predefined portion of theplanet. It is appreciated that the format of the above-described signalsare adapted as necessary during the various stages of communication.

The signal may be received by a receiving device 118. The receivingdevice 118 is a conversion device that converts, also referred to asformatting, the received signal into a signal suitable for communicationto a presentation device 120 and/or a user device 122. The receivedsignal communicated to the receiving device 118 is a relatively weaksignal that is amplified, and processed or formatted, by the receivingdevice 118. The amplified and processed signal is then communicated fromthe receiving device 118 to a presentation device 120 in a suitableformat, such as a television (“TV”) or the like, and/or to a user device122. It is to be appreciated that presentation device 120 may be anysuitable device operable to present a program having video informationand/or audio information.

User device 122 may be any suitable device that is operable to receive asignal from the receiving device 118, another endpoint device, or fromother devices external to the customer premises 116. Additionalnon-limiting examples of user device 122 include optical mediarecorders, such as a compact disk (“CD”) recorder, a digital versatiledisc or digital video disc (“DVD”) recorder, a digital video recorder(“DVR”), or a personal video recorder (“PVR”). User device 122 may alsoinclude game devices, magnetic tape type recorders, RF transceivers,personal computers (“PCs”), and personal mobile computing devices suchas cell phones or personal digital assistants (PDAs).

An interface between the receiving device 118 and a user (not shown) maybe provided by a hand-held remote-control device 128. Remote 128typically communicates with the receiving device 118 using a suitablewireless medium, such as infrared (“IR”), radio frequency (“RF”), or thelike. Other devices (not shown) may also be communicatively coupled tothe receiving device 118 so as to provide user instructions.Non-limiting examples include game device controllers, keyboards,pointing devices, and the like.

The receiving device 118 may receive programming partially from, orentirely from, another source other than that described above. Otherembodiments of the receiving device 118 may receive locally broadcast RFsignals, or may be coupled to communication system 108 via any suitablemedium. Non-limiting examples of medium communicatively coupling thereceiving device 118 to communication system 108 include cable, fiberoptic, or Internet media.

Customer premises 116 may include other devices which arecommunicatively coupled to communication system 108 via a suitablemedia. For example, but not limited to, some customer premises 116include an optional network 136, or a networked system, to whichreceiving devices 118, presentation devices 120, and/or a variety ofuser devices 122 can be coupled, collectively referred to as endpointdevices. Non-limiting examples of network 136 include, but are notlimited to, an Ethernet, twisted pair Ethernet, an intranet, a localarea network (“LAN”) system, or the like. One or more endpoint devices,such as PCs (e.g., PC 132), data storage devices, TVs, game systems,sound system receivers, Internet connection devices, digital subscriberloop (“DSL”) devices, wireless LAN, WiFi, Worldwide Interoperability forMicrowave Access (“WiMax”), or the like, are communicatively coupled tonetwork 136 so that the plurality of endpoint devices arecommunicatively coupled together. Thus, the network 136 allows theinterconnected endpoint devices, and the receiving device 118, tocommunicate with each other. Alternatively, or in addition, some devicesin the customer premises 116 may be directly connected to the network136, such as the telephone 134 which may employ a hardwire connection oran RF signal for coupling to network 136, which may also connect toother networks or communications systems outside customer premises 116.

Embodiments of the dual use remote-control device (“dual use remote”)100 are operable to control the presentation device 120 and possiblyalso other media devices. Examples of other media devices include thereceiving device 118, the presentation device 124, the user device 122,the PC 132, the remote-control device 128, and the like.

In the one embodiment, the dual use remote 100 includes a keypad on thetop side and at least one sensor on the bottom side to control cursormovement on the display 124 of the presentation device 120, and possiblyalso on a display of the user device 122, the PC 132, and/or other mediadevices. The dual use remote 100 may also include a partial, full orextended QWERTY keyboard on the bottom side to provide expanded textinput capabilities. The dual use remote 100 may be configured totransmit to and receive commands from a media device. The command istypically based at least in part on a user input received via thekeypad, keyboard, or sensor of the dual use remote 100. For example, bypressing the appropriate button on the keypad of the dual use remote 100or by using the sensor on the dual use remote 100 to control a cursor toselect a particular image on the display 124, a user may indicate thatthey wish to select a particular menu item of the receiving device 118and/or its associated presentation device 120. In response, the dual useremote 100 or receiving device 118 sends the appropriate command to thereceiving device 118 or presentation device 120. Other types of commandsmay be sent in addition to, or instead of, a menu selection. Forexample, device control/function commands, such as program selection,audio adjustment, picture adjustment, web browser control, windowcontrol, dialogue box control, text input, and the like, may also besent.

The dual use remote 100 may also receive from the media device anindication of whether use of the sensor to control a cursor isappropriate depending on what type of command is sent or what type ofmenu system or navigation control is currently being used or activatedon the display 124 or display of another media device, thus enabling thedual use remote to determine whether to be in a mode that enables use ofthe sensor to control a cursor and whether to enable and/or disableother functionality of the dual use remote 100.

In some embodiments, the dual use remote 100 is also configured toestablish a master-slave relationship between the dual use remote 100and one or more media devices, by making the dual use remote 100operable to control the one or more media devices. For example, the dualuse remote 100 can be used to identify itself as a master remote withrespect to one or more other remote-control devices and/or receivingdevices 118, including being operable to control a cursor and/orkeyboard input on the PC 132. In this manner, the dual use remote 100can be used to control other media devices.

The above description of the customer premises 116, and the variousdevices therein, is intended as a broad, non-limiting overview of anexample environment in which various embodiments of a dual use remotemay be implemented. The customer premises 116 and the various devicestherein, may contain other devices, systems and/or media notspecifically described herein.

Example embodiments described herein provide applications, tools, datastructures and other support to implement a dual use remote thatcontrols one or more media devices. Other embodiments of the describedtechniques may be used for other purposes, including for discovery andcontrol of remote systems generally. In the following description,numerous specific details are set forth, such as data formats, codesequences, and the like, in order to provide a thorough understanding ofthe described techniques. The embodiments described also can bepracticed without some of the specific details described herein, or withother specific details, such as changes with respect to the ordering ofthe code flow, different code flows, and the like. Thus, the scope ofthe techniques and/or functions described are not limited by theparticular order, selection, or decomposition of steps described withreference to any particular module, component, or routine.

B. Example Computing System Implementation

FIG. 2 is a block diagram illustrating components of an exampleembodiment of a dual use remote-control device 100. Note that thecomponents of the dual use remote 100 may be implemented in software,hardware, firmware, or in some combination to achieve the capabilitiesdescribed herein.

In one embodiment, dual use remote 100 comprises a computer memory(“memory”) 201, one or more Central Processing Units (“CPU”) 203,Input/Output “I/O” controls 204 (e.g., keypad, QWERTY keyboard, etc.),other computer-readable media 205 (e.g., flash memory, SIM card),network connections 206, an optical or other sensor (e.g., scroll wheelinput, touch pad, touch screen, optical sensor, track ball, joystick,etc.) 207, an optional device orientation sensor 208 (e.g., a sensorusing a single or multi-axis accelerometer, gyro, mercury, etc.), and amode switch 209. The mode switch 209 may be a manual switch, momentaryswitch, or a switch activated automatically by or integrated with thedevice orientation sensor 208 (e.g., a mercury switch, or switchactivated by a multi-axis accelerometer or gyro). For example, the I/Ocontrols 204 may include the keypad and the QWERTY keyboard withreference to FIGS. 3A through 3E and the optical/other sensor 207 mayinclude the optical sensor 309 with reference to FIGS. 3A through 3E. Inone embodiment, the optical sensor and QWERTY keyboard are positioned onthe opposite side of the dual use remote 100 than the keypad. Thenetwork connections 406 include one or more communication interfaces tovarious media devices, including but not limited to radio frequencytransceivers, infrared transceivers, wireless Ethernet (“Wi-Fi”)interfaces, and the like. The one or more Central Processing Units(“CPU”) 203 may be communicatively coupled to the memory 201 and theInput/Output controls 204, other computer-readable media 205, networkconnections 206, optical or other sensor 207, optional deviceorientation sensor 208, and mode switch 209 (e.g. via a communicationsbus) in a manner to control one or more operations of those variouscomponents.

The dual use remote 100 may communicate with receiving device 118,presentation device 124, and possibly other media devices such as theuser device 122 and PC 132 shown in FIG. 1. Example media devicesinclude other remote-control devices, video recorders, audio systems,displays, personal computers, set-top boxes, and the like. Other typesof devices include control systems for home electromechanical systems,such as a lighting system, security system, climate control system,spa/pool, and the like.

Dual use remote-control device logic 210 and device information 211 isshown residing in memory 201. In other embodiments, some portion of thecontents, some of, or all of the components of the logic 210 may bestored on the other computer-readable media 405. The logic 210preferably executes on one or more CPUs 203 and manages the dual useremote 100, as described herein. The logic 210 may comprise or implementa system control module as executed by the on one or more CPUs 203 thatare communicatively coupled to the I/O controls 204, optical/othersensor 207 and other components of the dual use remote 100. Other codeor programs and potentially other data/information (not shown), may alsoreside in the memory 201, and preferably execute on one or more CPUs203. Of note, one or more of the components in FIG. 4 may not be presentin any specific implementation. For example, some embodiments may notprovide other computer readable media 205.

The logic 210 performs the core functions of the dual use remote 100, asdiscussed herein and also with respect to FIGS. 5 and 6. In particular,the logic 210 may control what mode the dual use remote-control 100 isin based on the state of the device orientation sensor 208, mode switch209 or other variables. Also, the logic 210 may gather information aboutvarious media devices, such as receiving device 118, and store thatinformation as device information 211 in order to determine a particularmode the dual use remote should be in when communicating with aparticular device at a particular time depending on the informationgathered. In one embodiment, the logic 210 receives a mode input signaland adjusts, enables, or disables particular I/O controls 204 and/or theoptical/other sensor 207 accordingly. For example, if the dual useremote 100 is turned over such that the optical/other sensor 207 isfacing down, the logic 210 may disable a QWERTY keyboard positioned onthe same side as the optical/other sensor 207, adjust the optical/othersensor 207 to detect movement of the optical/other sensor 207 across anobject (e.g., a user's lap) to wirelessly control the cursor on thedisplay 124 (shown in FIGS. 1 and 4) based on the detected movement ofthe optical/other sensor 207 across the object. The logic 210 may alsoenable a particular I/O control of the I/O controls 204 positioned onthe opposite side of the dual use remote 100 to act as the selectionkey, which when activated (e.g., pressed), may cause a signal to bewirelessly sent to select an item displayed on the display 124 at thecurrent position of the cursor. Accordingly, when the dual use remote100 is turned over such that the optical/other sensor 207 is facing up,the logic 210 may enable or activate the QWERTY keyboard positioned onthe same side as the optical/other sensor 207, adjust the optical/othersensor 207 to better detect movement of a finger across theoptical/other sensor 207 to wirelessly control the cursor on the display124 based on the detected movement of the finger across the opticalsensor, and enable the optical/other sensor 207 or a particular I/Ocontrol of the I/O controls 204 that is positioned on the same side ofthe dual use remote 100 as the optical/other sensor 207 to act as theselection key, which when activated (e.g., pressed), may cause a signalto be wirelessly sent to select an item displayed on the display 124 atthe current position of the cursor.

The logic 210 also manages master-slave relationships with other mediadevices. A network of master-slave relationships known to the dual useremote 100 is stored in device information 411. In addition, changes tovarious master-slave relationships are regulated by the logic 210, andmay affect the current mode into which the logic 210 may put the dualuse remote 100 according to the type of device or type of user interfaceof the device (e.g., whether the user interface of the device uses acursor, text input, etc.).

In at least some embodiments, remote and/or programmatic access isprovided to at least some of the functionality of the dual use remote100. For example, the dual use remote 100 may provide to other mediadevices an application program interface (“API”) that provides access tovarious functions of the dual use remote 100, including access toinformation stored by the dual use remote 100 (e.g., about other mediadevices), the master/slave status of the dual use remote 100, and thelike. In this manner, the API may facilitate the development ofthird-party software, such as user interfaces, plug-ins, adapters (e.g.,for integrating functions of the dual use remote 100 into various userinterface applications on media devices and various desktopapplications), and the like. For example, a particular media device maypresent a customized or different user interface based upon thefunctionality and capabilities of the dual use remote 100.

In an example embodiment, the logic 210 is implemented using standardprogramming techniques. For example, the logic 210 may be implemented asa “native” executable running on the CPU 203, along with one or morestatic or dynamic libraries. In other embodiments, the logic 210 may beimplemented as instructions processed by a virtual machine that executesas some other program. In general, a range of programming languagesknown in the art may be employed for implementing such exampleembodiments, including representative implementations of variousprogramming language paradigms, including but not limited to,object-oriented (e.g., Java, C++, C#, Visual Basic.NET, Smalltalk, andthe like), functional (e.g., ML, Lisp, Scheme, and the like), procedural(e.g., C, Pascal, Ada, Modula, and the like), scripting (e.g., Perl,Ruby, Python, JavaScript, VBScript, and the like), declarative (e.g.,SQL, Prolog, and the like).

The embodiments described above may also use well-known or proprietarysynchronous or asynchronous client-server computing techniques. However,the various components may be implemented using more monolithicprogramming techniques as well, for example, as an executable running ona single CPU computer system, or alternatively decomposed using avariety of structuring techniques known in the art, including but notlimited to, multiprogramming, multithreading, client-server, orpeer-to-peer, running on one or more computer systems each having one ormore CPUs. Some embodiments may execute concurrently and asynchronously,and communicate using message passing techniques. Equivalent synchronousembodiments are also supported. Also, other functions could beimplemented and/or performed by each component/module, and in differentorders, and by different components/modules, yet still achieve thefunctions of the dual use remote.

In addition, programming interfaces to the data stored as part of thedevice information 211, can be available by standard mechanisms such asthrough C, C++, C#, and Java APIs; libraries for accessing files,databases, or other data repositories; through scripting languages suchas XML; or through Web servers, FTP servers, or other types of serversproviding access to stored data. The device information 211 may beimplemented as one or more database systems, file systems, or any othertechnique for storing such information, or any combination of the above,including implementations using distributed computing techniques.

Different configurations and locations of programs and data arecontemplated for use with techniques described herein. A variety ofdistributed computing techniques are appropriate for implementing thecomponents of the embodiments in a distributed manner including but notlimited to TCP/IP sockets, RPC, RMI, HTTP, Web Services (XML-RPC,JAX-RPC, SOAP, and the like). Other variations are possible. Also, otherfunctionality could be provided by each component/module, or existingfunctionality could be distributed amongst the components/modules indifferent ways, yet still achieve the functions of an HDM.

Furthermore, in some embodiments, some or all of the components/portionsof the logic 210 may be implemented or provided in other manners, suchas at least partially in firmware and/or hardware, including, but notlimited to one or more application-specific integrated circuits(“ASICs”), standard integrated circuits, controllers (e.g., by executingappropriate instructions, and including microcontrollers and/or embeddedcontrollers), field-programmable gate arrays (“FPGAs”), complexprogrammable logic devices (“CPLDs”), and the like. Some or all of thesystem components and/or data structures may also be stored as contents(e.g., as executable or other machine-readable software instructions orstructured data) on a computer-readable medium (e.g., as a hard disk; amemory; a computer network or cellular wireless network; or a portablemedia article to be read by an appropriate drive or via an appropriateconnection, such as a DVD or flash memory device) so as to enable orconfigure the computer-readable medium and/or one or more associatedcomputing systems or devices to execute or otherwise use or provide thecontents to perform at least some of the described techniques. Suchcomputer program products may also take other forms in otherembodiments. Accordingly, embodiments of this disclosure may bepracticed with other computer system configurations.

C. Example Dual Use Remote Configuration

FIGS. 3A-3E are diagrams illustrating top perspective, top plan, side,bottom perspective, and bottom plan views, respectively, of an exampleembodiment of the dual use remote-control device 100. FIGS. 3A and 3Bshow the dual use remote-control device housing 301, a first set ofinput controls 303 on a top side 302 of the dual use remote 100, and awireless transmitter/receiver 307 (shown in FIG. 3A). In the presentexample, the first set of input controls 303 includes a number ofbuttons positioned on the top side 302 of the dual use remote 100. Thebuttons may be configured to control a variety of operations for variousmedia devices, the dual use remote 100 itself, and to navigate a varietyof menus and user interfaces of the various media devices or dual useremote 100. These operations may include, but are not limited to channelselection, volume control, power, channel number input, fast forward,rewind, pause, and stop controls for video and audio devices, dual useremote mode switching, media device settings, on-demand services,purchase requests, and general menu and graphical user interface (GUI)navigation. For example, among other buttons, shown is a power button304 and a selection button (i.e., “OK” or “Enter” button) 305 surroundedby corresponding directional menu navigation buttons includingdirectional button 306. Other input controls may be positioned on thetop side 302 and may comprise all or part of the first set of inputcontrols 303 including, but not limited to, touch screens, touch pads,track balls, optical sensors, switches, and other touch-sensitivedevices. The housing 301 may be made of any durable plastic or polymermaterial, or combination of materials, suitable for enclosing andprotecting the internal electronics and power source of the dual useremote 100. The dimensions and overall shape of the housing 301 may varydepending on the positioning and placement of the first set of inputcontrols 303, the positioning of the particular internal electronics ofthe dual use remote 100 components shown in FIG. 2, and anymodifications for ease and comfort of use of the dual use remote 100.

FIGS. 3C, 3D and 3E are diagrams illustrating side, bottom perspective,and bottom plan views, respectively, of the example embodiment of thedual use remote-control device 100. FIGS. 3C, 3D and 3E additionallyshow a second set of input controls 308 positioned on the bottom side311 of the dual use remote 100 opposite the top side 302. FIG. 3C alsoshows an example thickness 312 of the dual use remote, which may varydepending on the positioning and type of internal electronics of thedual use remote 100, but in one example embodiment, is approximately 25mm. As shown in FIG. 3C, the first set of input controls 303 and secondset of input controls 308 may include buttons that extend slightly abovethe planar surface of the respective top side 302 and bottom side 311,respectively, on which they are positioned. Other configurations mayinclude input controls that are substantially flush with the respectivetop side 302 and bottom side 311, respectively, on which they arepositioned. However, if the second set of input controls 308 do includebuttons that extend slightly above the planar surface of the bottom side311 on which they are positioned, then the buttons of the second set ofinput controls 308 may be made of, painted, or finished with a materialthat enables the buttons to slide smoothly across an object. Forexample, such an object may be a table, couch, chair, or a user's lap.For example, the dual use remote 100 may be in a mode to control acursor by sliding the optical sensor 309 (shown in FIGS. 3D and 3E),also located on the bottom side 308 of the dual use remote 100, acrossthe object. Such material may include a smooth, hard plastic or hardrubber, or other suitable material instead of a soft rubber, rubberizedor soft plastic material.

When the dual use remote 100 is in a mode to control the cursor bysliding the optical sensor 309 (shown in FIGS. 3D and 3E) located on thebottom side 311 of the dual use remote 100 across an object, there maybe a particular input control of the first set of input controls 303located on the top side 303 that is activated or enabled to be used as aselection control to select an item at the current position of thecursor on the display. For example, this particular input control usedas the selection control when the dual use remote is being used in sucha mode may be the select button 305. However, other input controls ofthe first set of input controls on the top side 302, or other inputcontrols located on a side of the dual use remote 100 may also oralternatively be used as a select control or select button.

FIG. 3D shows a sensor 309 (in the present example, an optical sensor)and a QWERTY keyboard 310 included in the second set of input controls308 positioned on the bottom side 311 of the dual use remote 100. Theoptical sensor 309 may be any optical sensor suitable for detectingfinger movement across the optical sensor 309 and movement of theoptical sensor 309 across an object such as a table, couch, chair oruser's lap. For example, such optical sensors are available from AvagoTechnologies, having a headquarters in San Jose, Calif. Under control ofthe dual use remote-control device logic 210 (shown in FIG. 2), theoptical sensor 309 may be operable and configured to enable wirelesscontrol of a cursor on a display (e.g., a television monitor) based onthe detected movement of a finger across the optical sensor 309 or basedon the detected movement of the optical sensor 309 across the object. Asshown in FIGS. 3D and 3E, the optical sensor 309 may be configured tosend a signal to select a particular item on a display at a currentlocation of the cursor on the display when a user pushes on the opticalsensor 309, thus activating a button mechanism to which the opticalsensor 309 may be coupled in order to activate the selection signal.Also, or alternatively, there may be a particular input control of thesecond set of input controls 308 on the back side 311, side, or end ofthe dual use remote housing 301 such as a select button, enter button,or the like, that when pressed, signals to select a particular item on adisplay at a current location of the cursor on the display. The opticalsensor 309 may be flush or slightly recessed from the planar surface ofthe back side 311 of the dual use remote 100. However, otherconfigurations and locations of the optical sensor 309 may be used suchthat the distance between the optical sensor 309 and an object overwhich it is being passed is sufficient for the optical sensor 309 todetect movement of the optical sensor 309 over the object.

The optical sensor 309 may be positioned anywhere the bottom side 311,end or side of the dual use remote housing 301. However, if the QWERTYkeyboard 310 is also included in the second set of input controls 308,the optical sensor 311 may be positioned in an area on the bottom side311, end or side of the dual use remote housing 301 that does notsubstantially interfere with use of the QWERTY keyboard 310. Also, theoptical sensor 309 may be positioned in the general area of the top endof the dual use remote 100 as shown in FIG. 3, the top end being thatwhich faces upward or away from the user while the dual use remote 100is oriented by a user to read button labels on the top side 302 of thedual use remote 100. The optical sensor 309 is shown positioned on theright-hand side of the QWERTY keyboard 310 in FIGS. 3D and 3E. However,the optical sensor 309 may alternatively be positioned on the left-handside of the QWERTY keyboard 310, as may be preferable for left-handedusers.

FIGS. 3D and 3E show a full QWERTY keyboard 310 positioned on the bottomside 311. However, limited or extended QWERTY keyboards, other keyboardor keypad configurations, or no keyboard or other input controls on thebottom side may be included in alternative embodiments. The QWERTYkeyboard 310 is configured and operable to allow a user to enter orcommunicate text input to the dual use remote 100 and/or various mediadevices with which the dual use remote 100 may be in communication whilealso use the optical sensor 309 to control movement of a cursor or othergraphical object on a display of a device with which the dual use remote100 is in communication. Included in the QWERTY keyboard 310 may beindividual buttons corresponding to each letter of the English alphabetand a space bar. Other buttons or keys of the QWERTY keyboard 310 mayinclude, but are not limited to: enter, shift, backspace, numbers, tab,control, alt, caps lock, special symbols, punctuation marks, directionkeys, function keys, customized keys, 10-key keypad, number lock, etc.Also, other keys of the QWERTY keyboard may correspond to characters ofother languages than English. Also included on the top, bottom, sides orends of the dual use remote 100 may be various other controls and/orswitches (not shown) to control operations and modes of the dual useremote 100 or operations of other media devices with which the dual useremote 100 may be in communication.

D. Example Dual Use Remote Functionality

FIG. 4 is a block diagram illustrating an example embodiment of a dualuse remote-control device 100 in communication with a presentationdevice 120. In particular, FIG. 4 shows an example dual use remote 100operating in customer premises 116. The customer premises 116 includes adual use remote 100, receiving device 118, and presentation device 120having a display 124. On the display 124, are shown example userinterfaces and applications. In particular, an example TV/Satellite menu401, a cursor 402, and an example web browser 403 are shown. TheTV/Satellite menu 401 may have various controls and menus with which thecursor 402 interacts to select particular menu items 404. For example,shown is a slider bar 405, to enable a user to scroll through particularexample menu items 404 (four of which are shown). Also, the web browser407 may include various menu items and controls that interact with thesame cursor 402 and also receive input from the QWERTY keyboard 310 ofthe dual use remote 100 through the receiving device 118. For example,shown are window controls 407 to minimize, maximize or close the GUIwindow of the web browser 403 when selected using the cursor 402. Also,text may be input at the address bar 406 of the web browser 403 usingthe QWERTY keyboard 310 of the dual use remote 100. For example, a usermay enter text into a web browser 403 being displayed on a user'stelevision using the QWERTY keyboard 310 and use the optical sensor 309to control a cursor and select items on a particular web site displayedwithin the web browser 403.

Other menus, interfaces and applications may be displayed and controlledusing the optical sensor 309 to control movement of the cursor 402and/or using the QWERTY keyboard 310 to enter text or other input intothe various menus, interfaces and applications in communication with thepresentation device 120 and/or the receiving device 118. Examples ofsuch other menus, interfaces and applications include, but are notlimited to, menus, interfaces and applications of: televisions,satellite and cable receivers, DVD players, game consoles, computers,and computer networks. Other such examples include digital video oraudio recorders or players, analog video or audio recorders or players,stereo equipment, home appliances, mobile devices, MP3 players, cellularphones, home entertainment systems, home theater systems, smart homesystems, home electromechanical systems, such as a lighting system,security system, climate control system, spa/pool, and the like, orother media devices, etc.

In the present example, receiving device 118 is a set-top box coupled topresentation device 120. The dual use remote 100 may wirelesslycommunicate and receive information to and from the receiving device 118and also possibly other devices (not shown) on the customer premises116. This information communicated to the receiving device 118 iscommunicated to presentation device 120 in order to provide variousinput to control the presentation device or other devices orapplications in communication with the presentation device and/orreceiving device 118. In some embodiments, the receiving device 118 andpresentation device 120 may be integrated into one device.

The dual use remote 100 may operate in a number of different modes, eachmode corresponding to a particular physical orientation, switchposition, current menu or interface selected, current device beingcommunicated with, or a combination of the foregoing items. For example,when the dual use remote 100 is oriented such that the side having theoptical sensor 309 is facing upward, the device may change modes causingthe settings of the optical sensor 309 to be adjusted to better detectmovement of a finger across the optical sensor 309 and/or causing thefirst set of input controls on the opposite side of the dual use remote100 to be disabled. Other automatic adjustments may include,transposing, when the dual use remote 100 changes between modes (e.g.,as indicated by a mode input signal), at least a portion of a coordinatesystem used to translate movement detected by the optical sensor tomovement of the cursor 402. For example, what were previously up anddown motions as detected by the optical sensor 309 in one mode may betransposed to left and right, respectively, and vice versa. The QWERTYkeyboard 310 may also be disabled when facing downward such that thekeys on the keyboard 310 are not inadvertently pressed when moving thedual use remote 100 over objects such as tables, couches, chars, auser's lap, etc. The QWERTY keyboard 310 may again be automaticallyenabled when facing upward.

Also, the sensitivity of the optical sensor 309 and/or a scale used intranslating a distance of movement detected by the optical sensor 309 tomovement of the cursor 402, and other calibrations, may be automaticallyadjusted depending on what mode the dual use remote 100 is in. Forexample, when the dual use remote 100 is oriented such that the sidehaving the optical sensor 309 is facing upward, a scale is adjusted suchthat a movement by the optical sensor 309 of a certain distance resultsin larger movement of the cursor 402 than a movement detected of thesame distance when the dual use remote 100 is oriented such that theside having the optical sensor 309 is facing downward. This is due tothe overall larger areas of movement detected by the optical sensor 309when moving the optical sensor 309 over a table or user's lap than whenmoving a finger over the optical sensor 309 to control cursor movementin a different mode.

The current menu or device with which the dual use remote 100 iscommunicating may also affect the particular mode in which the dual useremote 100 is operating. This may be enabled by two-way communicationbetween the dual use remote 100 and the particular device (e.g.,presentation device 120 and/or receiving device 118). For example, whena user interface or menu system that accepts text input and/or uses thecursor 402 is entered, activated or displayed on the display 124, thismay be communicated to the dual use remote 100 such that the dual useremote 100 may change modes, if needed, to activate and/or adjust theoptical sensor 309, enable the QWERTY keyboard 310, and/or disable otherkeys or input controls as appropriate. For example, if a user opens aweb browser 403 on their television or starts communicating with theircomputer using the dual use remote 100, this may result in a mode beingentered by dual use remote 100 causing the QWERTY keyboard to beactivated. The optical sensor is also activated and adjusted to betterdetect finger movement. The first set of input controls on the oppositeside of the dual use remote 100 from the QWERTY keyboard and opticalsensor 309 may also be temporarily disabled or deactivated while in sucha mode.

In order to govern the access to various functions or modes of the dualuse remote 100, such as a text entry mode or cursor control mode to surfthe Internet, or to govern changing to particular channels or accessingparticular types of content, various types of access controls may beemployed. For example, one or more of the functions or modes of the dualuse remote 100 may be password protected, such that the user mustprovide a password or other identifier (e.g., a PIN, biometricidentifier, etc.) to access the protected functions or modes, orcontent.

E. Processes

FIG. 5 is a flow diagram of an example dual use remote-control processprovided by an example embodiment. In particular, FIG. 5 illustratesprocess 500 that may be implemented, for example, by the logic 210executing on the dual use remote 100, described with respect to FIG. 2.

The process 500 starts at 501 wherein the process waits for a mode inputsignal and then at 502 the process receives the mode input signal. Asdescribed above, the mode input signal may be a signal automaticallyreceived based on output of an orientation sensor indicating a physicalorientation of the dual use remote, a manual switch on the dual useremote, information communicated to the dual use remote from a device itis controlling or with which it is communicating, or a combination ofsuch items.

At 504, the process deactivates and/or activates particular inputcontrols based on mode the input signal. For example, the process mayactivate or deactivate the optical sensor or keyboard or other inputcontrols according to the particular mode indicated by the mode inputsignal. At this point, the process also adjusts the optical sensor basedon the received mode input signal. For example, this adjustment mayinclude sensitivity, scale and coordinate systems used by the opticalsensor as well as other adjustments.

If it is determined that an input control was activated that correspondsto the optical sensor, then at 506 the process sends a signal to selectthe item at the current cursor position. For example, the dual useremote may have an input control such as a button that the user maypress when the user desires to select an item at the current location ofthe cursor being controlled by the optical sensor. This, however, occurswhen the dual use remote is in a mode in which the optical sensor iscurrently active.

FIG. 6 is a flow diagram of an example dual use remote-control processincluding more detailed operations for switching modes provided by anexample embodiment.

The process 600 starts at 601 wherein the process waits for a mode inputsignal and then at 602 the process receives the mode input signal. Asdescribed above, the mode input signal may be a signal automaticallyreceived based on output of an orientation sensor indicating a physicalorientation of the dual use remote, a manual switch on the dual useremote, information communicated to the dual use remote from a device itis controlling or with which it is communicating, or a combination ofsuch items.

At 604, the process determines whether the mode input signal indicatesthe user interface currently selected to be displayed uses a cursor.

If it had been determined that the mode input signal indicated the userinterface currently selected to be displayed does not use a cursor, thenat 606 the optical sensor is deactivated if it is currently active andthe process returns to 602.

If it had been determined that the mode input signal indicated the userinterface currently selected to be displayed does use a cursor, then at608, the process determines whether the optical sensor is facing up. Forexample, this may be determined by an indication by the input signalitself or other signals indicative of whether the optical sensor isfacing up (e.g., an orientation sensor, manual switch, etc.).

If it had been determined that the optical sensor is facing up, then at610, the QWERTY keyboard on the same side of the dual use remote as theoptical sensor is activated or enabled if not already activated.

If it had been determined that the optical sensor is facing up, then at612, the keys on the opposite side of device from the optical sensor areoptionally deactivated or disabled. This option may be user selectablewhen initially configuring the dual use remote.

If it had been determined that the optical sensor is facing up, then at614, the optical sensor may be adjusted to better detect and translatefinger movement to cursor movement as described above.

If it had been determined that the optical sensor is not facing up, thenat 616, the keyboard on the same side of the dual use remote as theoptical sensor is deactivated or disabled. This option, among others,may also be user selectable during initial configuration of the dual useremote.

If it had been determined that the optical sensor is not facing up, thenat 616, the optical sensor is also adjusted to better detect andtranslate movement of the optical sensor over an object to cursormovement on the display as described above.

Some embodiments perform one or more operations/aspects in addition tothe ones described with respect to process 500 and process 600. Forexample, in various embodiments, the process 500 and process 600 orparts thereof, may automatically execute upon the occurrence of otherevents, such as a request received from a media device in which the dualuse remote is in communication.

All of the above U.S. patents, U.S. patent application publications,U.S. patent applications, foreign patents, foreign patent applicationsand non-patent publications referred to in this specification and/orlisted in the Application Data Sheet, are incorporated herein byreference, in their entirety.

From the foregoing it will be appreciated that, although specificembodiments of the invention have been described herein for purposes ofillustration, various modifications may be made without deviating fromthe spirit and scope of the invention. Accordingly, the invention is notlimited except as by the appended claims.

1. A remote-control device comprising: a remote-control device housing;a system control module within the housing; a first set of inputcontrols positioned on a top side of the housing communicatively coupledto the system control module; a second set of input controls positionedon a bottom side of the housing and communicatively coupled to thesystem control module, wherein the second set of input controlscomprises at least an optical sensor configured to wirelessly controlmovement of a cursor on a remote display; a switch coupled to the systemcontrol module configured to switch the remote-control device from afirst mode to a second mode wherein the optical sensor is configured towirelessly control movement of the cursor on the display in the firstmode by detecting movement of the optical sensor across an object and inthe first mode the system control module is configured to select an itemdisplayed on the display at a current position of the cursor when aparticular input control of the first set of input controls isactivated, and wherein the optical sensor is configured to wirelesslycontrol movement of the cursor on the display in the second mode bydetecting movement of a finger across the optical sensor and in thesecond mode the system control module is configured to select an itemdisplayed on the display at a current position of the cursor when aninput control of the second set of input controls is activated.
 2. Theremote-control device of claim 1 wherein the second set of inputcontrols further comprises a QWERTY keyboard.
 3. The remote-controldevice of claim 1 wherein the input control of the second set of inputcontrols that is pressed to select an item displayed on the display at acurrent position of the cursor is the optical sensor.
 4. Theremote-control device of claim 1 wherein the first set of input controlsare buttons and comprise television channel selection buttons, a powerbutton and a select button.
 5. The remote-control device of claim 1wherein the switch is configured to be automatically triggered on aparticular movement of the remote-control device.
 6. The remote-controldevice of claim 5 wherein the switch is configured to put theremote-control device in the second mode when the bottom side isdetected to be facing up as indicated by the particular movement of theremote-control device.
 7. The remote-control device of claim 1 whereinthe system control module is configured to automatically disable thesecond set of input controls, except for the optical sensor, when thebottom side is detected to be facing down.
 8. The remote-control deviceof claim 1 wherein the system control module is configured to transposeat least a portion of a coordinate system when the remote-control devicechanges between the first and second modes, said coordinate system usedto translate movement detected by the optical sensor to movement of thecursor.
 9. A method for controlling operation of a remote-control devicecomprising: receiving a mode input signal indicating that theremote-control device is in a first mode, said remote-control devicehaving a first set of input controls positioned on a top side of theremote-control device and a second set of input controls, including atleast an optical sensor, positioned on a bottom side of theremote-control device; configuring the optical sensor to better detectmovement of a finger across the optical sensor to wirelessly control acursor on a display based on the detected movement of the finger acrossthe optical sensor; wirelessly sending a signal to select an itemdisplayed on the display at a current position of the cursor when aninput control of the second set of input controls is pressed while theremote-control device is in the first mode; receiving a mode inputsignal indicating that the remote-control device is in a second mode;configuring the optical sensor of the remote-control device to betterdetect movement of the optical sensor across an object to wirelesslycontrol the cursor on the display based on the detected movement of theoptical sensor across the object; and wirelessly sending a signal toselect an item displayed on the display at a current position of thecursor when a particular input control of the first set of inputcontrols is pressed while the remote-control device is in the secondmode.
 10. The method of claim 9 further comprising automaticallydeactivating or reactivating use of the optical sensor to control thecursor depending on whether a user interface currently selected to bedisplayed on the display uses the cursor.
 11. The method of claim 9further comprising automatically generating the mode input signal havinga particular value based on movement of the remote-control deviceindicating whether the top side or bottom side is currently facing up.12. The method of claim 9 further comprising automatically disabling thesecond set of input controls, except for the optical sensor, when thebottom side is detected to be facing down as indicated by the receivedmode input signal.
 13. The method of claim 9 further comprisingtransposing, when the remote-control device changes between the firstand second modes as indicated by the mode input signal, at least aportion of a coordinate system used to translate movement detected bythe optical sensor to movement of the cursor.
 14. The method of claim 9wherein the configuring the optical sensor to better detect movement ofa finger across the optical sensor and configuring the optical sensor ofthe remote-control device to better detect movement of the opticalsensor across an object comprises adjusting one or more of: asensitivity of the optical sensor and a scale used in translating adistance of movement detected by the optical sensor to movement of thecursor.
 15. A computer readable storage medium having computerexecutable instructions thereon, that when executed by a computerprocessor cause the following method for controlling operation of aremote-control device to be performed: receiving a mode input signalindicating whether the remote-control device is to be in a first mode ora second mode, said remote-control device having a first set of inputcontrols arranged on a top side of the remote-control device and asecond set of input controls, including an optical sensor, arranged on abottom side of the remote-control device; configuring, if the mode inputsignal indicated the remote-control device is to be in the first mode,the optical sensor to better detect movement of a finger across theoptical sensor to wirelessly control a cursor on a display based on thedetected movement of the finger across the optical sensor; wirelesslysending a signal to select an item displayed on the display at a currentposition of the cursor when an input control of the second set of inputcontrols is pressed while the remote-control device is in the firstmode; configuring, if the mode input signal indicated the remote-controldevice is to be in the second mode, the optical sensor of theremote-control device to better detect movement of the optical sensoracross an object to wirelessly control the cursor on the display basedon the detected movement of the optical sensor across the object; andwirelessly sending a signal to select an item displayed on the displayat a current position of the cursor when a particular input control ofthe first set of input controls is pressed while the remote-controldevice is in the first mode.
 16. The computer readable storage medium ofclaim 15, the method further comprising automatically deactivating orreactivating use of the optical sensor to control the cursor dependingon whether a user interface currently selected to be displayed on thedisplay uses the cursor.
 17. The computer readable storage medium ofclaim 15 further comprising automatically generating the mode inputsignal having a particular value based on movement of the remote-controldevice indicating whether the top side or bottom side is currentlyfacing up.
 18. The computer readable storage medium of claim 15 furthercomprising automatically disabling the second set of input controls,except for the optical sensor, when the bottom side is detected to befacing down as indicated by the received mode input signal.
 19. Thecomputer readable storage medium of claim 15 further comprisingtransposing, when the remote-control device changes modes, at least aportion of a coordinate system, said coordinate system used to translatemovement detected by the optical sensor to movement of the cursor. 20.The computer readable storage medium of claim 15 wherein the configuringthe optical sensor to better detect movement of a finger across theoptical sensor and configuring the optical sensor to better detectmovement of the optical sensor across an object comprises adjusting oneor more of: a sensitivity of the optical sensor and a scale used intranslating a distance of movement detected by the optical sensor tomovement of the cursor.